\hypertarget{class_a_v_l_tree}{\section{A\-V\-L\-Tree$<$ Key, Val $>$ Class Template Reference}
\label{class_a_v_l_tree}\index{A\-V\-L\-Tree$<$ Key, Val $>$@{A\-V\-L\-Tree$<$ Key, Val $>$}}
}


{\ttfamily \#include $<$A\-V\-L\-Tree.\-h$>$}

\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct_a_v_l_tree_1_1_avl_node}{Avl\-Node}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_a_v_l_tree_afdbb495f401322b412407e8eab6a588c}{A\-V\-L\-Tree} ()
\item 
virtual \hyperlink{class_a_v_l_tree_ae10c9d12f9c6aee8527c2d76128c1dc3}{$\sim$\-A\-V\-L\-Tree} (void)
\item 
void \hyperlink{class_a_v_l_tree_a51f292a4ddb380da95bd942e8196d403}{reset} ()
\item 
bool \hyperlink{class_a_v_l_tree_aedac89eccd0e484236241caaa41bc550}{balance\-Node\-\_\-} (\hyperlink{struct_a_v_l_tree_1_1_avl_node}{Avl\-Node} $\ast$parent\-\_\-node)
\item 
bool \hyperlink{class_a_v_l_tree_a38586de68268d2fc1c140f429c79e27c}{remove} (const Key \&key)
\item 
\hyperlink{struct_a_v_l_tree_1_1_avl_node}{Avl\-Node} $\ast$ \hyperlink{class_a_v_l_tree_aec0466befb48da84f5676d19e7502c7b}{get\-Left\-Most\-Node} (\hyperlink{struct_a_v_l_tree_1_1_avl_node}{Avl\-Node} $\ast$node) const 
\item 
void \hyperlink{class_a_v_l_tree_af9ab51b5b410f110091946b786c24ace}{dump\-Map\-\_\-} (const std\-::string \&s\-Name)
\item 
void \hyperlink{class_a_v_l_tree_af900bd65b9efc1e2e228d6a42af93fba}{output\-Inverted\-Index} (ofstream \&ofs)
\item 
void \hyperlink{class_a_v_l_tree_a5410cc28c4e64dc7ad0a251440a167c7}{insert} (const Key \&key, const Val \&val)
\item 
Val \hyperlink{class_a_v_l_tree_a2550dd13b2ec3c2ce627a89ea058621b}{search} (const Key \&key) const 
\item 
bool \hyperlink{class_a_v_l_tree_af59dd15f1a0a32faf4b837e41ceddd60}{contains} (const Key \&key) const 
\item 
int \hyperlink{class_a_v_l_tree_acd5ac7484c414558534a6a5c893ff70e}{get\-Size} () const 
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{struct_a_v_l_tree_1_1_avl_node}{Avl\-Node} $\ast$ \hyperlink{class_a_v_l_tree_a451ec32616485c7963914a7701671e57}{root\-\_\-node}
\item 
int \hyperlink{class_a_v_l_tree_ad9799c7e81d5f291885e2622d31d5b19}{size}
\item 
bool \hyperlink{class_a_v_l_tree_aa998839d84cc3637cfa4314bea241771}{do\-Balancing}
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{struct_a_v_l_tree_1_1_avl_node}{Avl\-Node} $\ast$ \hyperlink{class_a_v_l_tree_a6455f1012c30b05bbce7c1323e6574dd}{get\-Node} (const Key \&key) const 
\item 
\hyperlink{struct_a_v_l_tree_1_1_avl_node}{Avl\-Node} $\ast$ \hyperlink{class_a_v_l_tree_aeb862a3bf7c28ae5c048b561b353d434}{new\-Node\-\_\-} (\hyperlink{struct_a_v_l_tree_1_1_avl_node}{Avl\-Node} $\ast$parent, const Key \&key, const Val \&val)
\item 
void \hyperlink{class_a_v_l_tree_ab4ed908dbbc4ba203c0d2d7a3057bde1}{propagate\-\_\-max\-\_\-children\-\_\-size} (\hyperlink{struct_a_v_l_tree_1_1_avl_node}{Avl\-Node} $\ast$notified\-\_\-node, \hyperlink{struct_a_v_l_tree_1_1_avl_node}{Avl\-Node} $\ast$sender\-\_\-node, int child\-\_\-maxsize, bool is\-\_\-deletion)
\item 
int \hyperlink{class_a_v_l_tree_a3af39494f132a7e79a23189b677a90b9}{get\-Balance\-\_\-} (\hyperlink{struct_a_v_l_tree_1_1_avl_node}{Avl\-Node} $\ast$node) const 
\item 
int \hyperlink{class_a_v_l_tree_acb101a9f4c2f897241892f7977821742}{get\-Max\-Children\-Size\-\_\-} (\hyperlink{struct_a_v_l_tree_1_1_avl_node}{Avl\-Node} $\ast$node) const 
\item 
void \hyperlink{class_a_v_l_tree_a4576d0bd2613d687fb473c228f18994c}{remove\-Node\-\_\-} (\hyperlink{struct_a_v_l_tree_1_1_avl_node}{Avl\-Node} $\ast$node)
\item 
void \hyperlink{class_a_v_l_tree_a59ae9495ddd1f41913be99655a46ceb4}{set\-Balancing} (bool mode)
\item 
void \hyperlink{class_a_v_l_tree_a304ac90219fd9c546d12cbdfdbba0aa2}{srr} (\hyperlink{struct_a_v_l_tree_1_1_avl_node}{Avl\-Node} $\ast$node)
\item 
void \hyperlink{class_a_v_l_tree_aef78b6448d8904f919aebbd85ff64b72}{slr} (\hyperlink{struct_a_v_l_tree_1_1_avl_node}{Avl\-Node} $\ast$node)
\item 
void \hyperlink{class_a_v_l_tree_af1ac81bada2872487432c49bdeefb445}{create\-Node} (\hyperlink{struct_a_v_l_tree_1_1_avl_node}{Avl\-Node} $\ast$p\-Curr, std\-::ostream \&ss\-Out)
\item 
void \hyperlink{class_a_v_l_tree_a33bbe6bc4a4b5bf3ef1d3bc006071684}{create\-Inverted\-Index\-Node} (\hyperlink{struct_a_v_l_tree_1_1_avl_node}{Avl\-Node} $\ast$p\-Curr, std\-::ostream \&ss\-Out)
\item 
void \hyperlink{class_a_v_l_tree_ad888a79615197506e6323d2fbcf588a1}{draw\-Node\-\_\-} (std\-::ofstream \&fs\-Out, \hyperlink{struct_a_v_l_tree_1_1_avl_node}{Avl\-Node} $\ast$p\-Curr)
\item 
void \hyperlink{class_a_v_l_tree_a77a559c5902727a852b1d311794a5240}{output\-Inverted\-Node\-\_\-} (std\-::ofstream \&fs\-Out, \hyperlink{struct_a_v_l_tree_1_1_avl_node}{Avl\-Node} $\ast$p\-Curr)
\end{DoxyCompactItemize}


\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_a_v_l_tree_afdbb495f401322b412407e8eab6a588c}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!A\-V\-L\-Tree@{A\-V\-L\-Tree}}
\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{A\-V\-L\-Tree}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::{\bf A\-V\-L\-Tree} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_a_v_l_tree_afdbb495f401322b412407e8eab6a588c}
\hypertarget{class_a_v_l_tree_ae10c9d12f9c6aee8527c2d76128c1dc3}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!$\sim$\-A\-V\-L\-Tree@{$\sim$\-A\-V\-L\-Tree}}
\index{$\sim$\-A\-V\-L\-Tree@{$\sim$\-A\-V\-L\-Tree}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{$\sim$\-A\-V\-L\-Tree}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ virtual {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::$\sim${\bf A\-V\-L\-Tree} (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{class_a_v_l_tree_ae10c9d12f9c6aee8527c2d76128c1dc3}
Tree destructor 

\subsection{Member Function Documentation}
\hypertarget{class_a_v_l_tree_aedac89eccd0e484236241caaa41bc550}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!balance\-Node\-\_\-@{balance\-Node\-\_\-}}
\index{balance\-Node\-\_\-@{balance\-Node\-\_\-}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{balance\-Node\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ bool {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::balance\-Node\-\_\- (
\begin{DoxyParamCaption}
\item[{{\bf Avl\-Node} $\ast$}]{parent\-\_\-node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_a_v_l_tree_aedac89eccd0e484236241caaa41bc550}
balance a node, invoke rotations on demand. 
\begin{DoxyParams}{Parameters}
{\em parent\-\_\-node} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}
\hypertarget{class_a_v_l_tree_af59dd15f1a0a32faf4b837e41ceddd60}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!contains@{contains}}
\index{contains@{contains}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{contains}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ bool {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::contains (
\begin{DoxyParamCaption}
\item[{const Key \&}]{key}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_a_v_l_tree_af59dd15f1a0a32faf4b837e41ceddd60}
Check if a key exists in the tree 
\begin{DoxyParams}{Parameters}
{\em key} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if it exists, false otherwise 
\end{DoxyReturn}
\hypertarget{class_a_v_l_tree_a33bbe6bc4a4b5bf3ef1d3bc006071684}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!create\-Inverted\-Index\-Node@{create\-Inverted\-Index\-Node}}
\index{create\-Inverted\-Index\-Node@{create\-Inverted\-Index\-Node}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{create\-Inverted\-Index\-Node}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ void {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::create\-Inverted\-Index\-Node (
\begin{DoxyParamCaption}
\item[{{\bf Avl\-Node} $\ast$}]{p\-Curr, }
\item[{std\-::ostream \&}]{ss\-Out}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{class_a_v_l_tree_a33bbe6bc4a4b5bf3ef1d3bc006071684}
create a node string representation 
\begin{DoxyParams}{Parameters}
{\em p\-Curr} & \\
\hline
{\em ss\-Out} & \\
\hline
\end{DoxyParams}
\hypertarget{class_a_v_l_tree_af1ac81bada2872487432c49bdeefb445}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!create\-Node@{create\-Node}}
\index{create\-Node@{create\-Node}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{create\-Node}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ void {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::create\-Node (
\begin{DoxyParamCaption}
\item[{{\bf Avl\-Node} $\ast$}]{p\-Curr, }
\item[{std\-::ostream \&}]{ss\-Out}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{class_a_v_l_tree_af1ac81bada2872487432c49bdeefb445}
create a node string representation 
\begin{DoxyParams}{Parameters}
{\em p\-Curr} & \\
\hline
{\em ss\-Out} & \\
\hline
\end{DoxyParams}
\hypertarget{class_a_v_l_tree_ad888a79615197506e6323d2fbcf588a1}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!draw\-Node\-\_\-@{draw\-Node\-\_\-}}
\index{draw\-Node\-\_\-@{draw\-Node\-\_\-}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{draw\-Node\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ void {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::draw\-Node\-\_\- (
\begin{DoxyParamCaption}
\item[{std\-::ofstream \&}]{fs\-Out, }
\item[{{\bf Avl\-Node} $\ast$}]{p\-Curr}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{class_a_v_l_tree_ad888a79615197506e6323d2fbcf588a1}
draw a single node for dotty output 
\begin{DoxyParams}{Parameters}
{\em fs\-Out} & \\
\hline
{\em p\-Curr} & \\
\hline
\end{DoxyParams}
\hypertarget{class_a_v_l_tree_af9ab51b5b410f110091946b786c24ace}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!dump\-Map\-\_\-@{dump\-Map\-\_\-}}
\index{dump\-Map\-\_\-@{dump\-Map\-\_\-}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{dump\-Map\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ void {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::dump\-Map\-\_\- (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{s\-Name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_a_v_l_tree_af9ab51b5b410f110091946b786c24ace}
dump the map into dotty format 
\begin{DoxyParams}{Parameters}
{\em s\-Name} & \\
\hline
\end{DoxyParams}
\hypertarget{class_a_v_l_tree_a3af39494f132a7e79a23189b677a90b9}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!get\-Balance\-\_\-@{get\-Balance\-\_\-}}
\index{get\-Balance\-\_\-@{get\-Balance\-\_\-}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{get\-Balance\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ int {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::get\-Balance\-\_\- (
\begin{DoxyParamCaption}
\item[{{\bf Avl\-Node} $\ast$}]{node}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{class_a_v_l_tree_a3af39494f132a7e79a23189b677a90b9}
returns the balance for a given avl node 
\begin{DoxyParams}{Parameters}
{\em node} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}
\hypertarget{class_a_v_l_tree_aec0466befb48da84f5676d19e7502c7b}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!get\-Left\-Most\-Node@{get\-Left\-Most\-Node}}
\index{get\-Left\-Most\-Node@{get\-Left\-Most\-Node}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{get\-Left\-Most\-Node}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ {\bf Avl\-Node}$\ast$ {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::get\-Left\-Most\-Node (
\begin{DoxyParamCaption}
\item[{{\bf Avl\-Node} $\ast$}]{node}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_a_v_l_tree_aec0466befb48da84f5676d19e7502c7b}
Retrieve left most child 
\begin{DoxyParams}{Parameters}
{\em node} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
ptr to A\-V\-L\-Node of current node 
\end{DoxyReturn}
\hypertarget{class_a_v_l_tree_acb101a9f4c2f897241892f7977821742}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!get\-Max\-Children\-Size\-\_\-@{get\-Max\-Children\-Size\-\_\-}}
\index{get\-Max\-Children\-Size\-\_\-@{get\-Max\-Children\-Size\-\_\-}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{get\-Max\-Children\-Size\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ int {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::get\-Max\-Children\-Size\-\_\- (
\begin{DoxyParamCaption}
\item[{{\bf Avl\-Node} $\ast$}]{node}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{class_a_v_l_tree_acb101a9f4c2f897241892f7977821742}
returns the max children size 
\begin{DoxyParams}{Parameters}
{\em node} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}
\hypertarget{class_a_v_l_tree_a6455f1012c30b05bbce7c1323e6574dd}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!get\-Node@{get\-Node}}
\index{get\-Node@{get\-Node}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{get\-Node}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ {\bf Avl\-Node}$\ast$ {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::get\-Node (
\begin{DoxyParamCaption}
\item[{const Key \&}]{key}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{class_a_v_l_tree_a6455f1012c30b05bbce7c1323e6574dd}
Gets a key out of the A\-V\-L Tree 
\begin{DoxyParams}{Parameters}
{\em key} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}
\hypertarget{class_a_v_l_tree_acd5ac7484c414558534a6a5c893ff70e}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!get\-Size@{get\-Size}}
\index{get\-Size@{get\-Size}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{get\-Size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ int {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::get\-Size (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_a_v_l_tree_acd5ac7484c414558534a6a5c893ff70e}
Get the size of the tree \begin{DoxyReturn}{Returns}
size as int 
\end{DoxyReturn}
\hypertarget{class_a_v_l_tree_a5410cc28c4e64dc7ad0a251440a167c7}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!insert@{insert}}
\index{insert@{insert}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{insert}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ void {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::insert (
\begin{DoxyParamCaption}
\item[{const Key \&}]{key, }
\item[{const Val \&}]{val}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_a_v_l_tree_a5410cc28c4e64dc7ad0a251440a167c7}
Insert an element into the tree 
\begin{DoxyParams}{Parameters}
{\em key} & \\
\hline
{\em val} & \\
\hline
\end{DoxyParams}
\hypertarget{class_a_v_l_tree_aeb862a3bf7c28ae5c048b561b353d434}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!new\-Node\-\_\-@{new\-Node\-\_\-}}
\index{new\-Node\-\_\-@{new\-Node\-\_\-}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{new\-Node\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ {\bf Avl\-Node}$\ast$ {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::new\-Node\-\_\- (
\begin{DoxyParamCaption}
\item[{{\bf Avl\-Node} $\ast$}]{parent, }
\item[{const Key \&}]{key, }
\item[{const Val \&}]{val}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{class_a_v_l_tree_aeb862a3bf7c28ae5c048b561b353d434}
Generates a new node (helper) 
\begin{DoxyParams}{Parameters}
{\em parent} & \\
\hline
{\em key} & \\
\hline
{\em val} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
ptr to new Node 
\end{DoxyReturn}
\hypertarget{class_a_v_l_tree_af900bd65b9efc1e2e228d6a42af93fba}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!output\-Inverted\-Index@{output\-Inverted\-Index}}
\index{output\-Inverted\-Index@{output\-Inverted\-Index}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{output\-Inverted\-Index}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ void {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::output\-Inverted\-Index (
\begin{DoxyParamCaption}
\item[{ofstream \&}]{ofs}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_a_v_l_tree_af900bd65b9efc1e2e228d6a42af93fba}
dump the map into dotty format 
\begin{DoxyParams}{Parameters}
{\em s\-Name} & filename \\
\hline
\end{DoxyParams}
\hypertarget{class_a_v_l_tree_a77a559c5902727a852b1d311794a5240}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!output\-Inverted\-Node\-\_\-@{output\-Inverted\-Node\-\_\-}}
\index{output\-Inverted\-Node\-\_\-@{output\-Inverted\-Node\-\_\-}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{output\-Inverted\-Node\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ void {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::output\-Inverted\-Node\-\_\- (
\begin{DoxyParamCaption}
\item[{std\-::ofstream \&}]{fs\-Out, }
\item[{{\bf Avl\-Node} $\ast$}]{p\-Curr}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{class_a_v_l_tree_a77a559c5902727a852b1d311794a5240}
draw a single node for persistent inverted file index 
\begin{DoxyParams}{Parameters}
{\em fs\-Out} & \\
\hline
{\em p\-Curr} & \\
\hline
\end{DoxyParams}
\hypertarget{class_a_v_l_tree_ab4ed908dbbc4ba203c0d2d7a3057bde1}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!propagate\-\_\-max\-\_\-children\-\_\-size@{propagate\-\_\-max\-\_\-children\-\_\-size}}
\index{propagate\-\_\-max\-\_\-children\-\_\-size@{propagate\-\_\-max\-\_\-children\-\_\-size}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{propagate\-\_\-max\-\_\-children\-\_\-size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ void {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::propagate\-\_\-max\-\_\-children\-\_\-size (
\begin{DoxyParamCaption}
\item[{{\bf Avl\-Node} $\ast$}]{notified\-\_\-node, }
\item[{{\bf Avl\-Node} $\ast$}]{sender\-\_\-node, }
\item[{int}]{child\-\_\-maxsize, }
\item[{bool}]{is\-\_\-deletion}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{class_a_v_l_tree_ab4ed908dbbc4ba203c0d2d7a3057bde1}
Propagates new max children size to parents, does balancing on demand. 
\begin{DoxyParams}{Parameters}
{\em notified\-\_\-node} & \\
\hline
{\em sender\-\_\-node} & \\
\hline
{\em child\-\_\-maxsize} & \\
\hline
{\em is\-\_\-deletion} & \\
\hline
\end{DoxyParams}
\hypertarget{class_a_v_l_tree_a38586de68268d2fc1c140f429c79e27c}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!remove@{remove}}
\index{remove@{remove}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{remove}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ bool {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::remove (
\begin{DoxyParamCaption}
\item[{const Key \&}]{key}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_a_v_l_tree_a38586de68268d2fc1c140f429c79e27c}
Remove an entry from the tree 
\begin{DoxyParams}{Parameters}
{\em key} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}
\hypertarget{class_a_v_l_tree_a4576d0bd2613d687fb473c228f18994c}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!remove\-Node\-\_\-@{remove\-Node\-\_\-}}
\index{remove\-Node\-\_\-@{remove\-Node\-\_\-}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{remove\-Node\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ void {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::remove\-Node\-\_\- (
\begin{DoxyParamCaption}
\item[{{\bf Avl\-Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{class_a_v_l_tree_a4576d0bd2613d687fb473c228f18994c}
remove Node and all of its children, deallocate memory, unlink the parents pointers (setting it to 0) and child count. 
\begin{DoxyParams}{Parameters}
{\em node} & \\
\hline
\end{DoxyParams}
\hypertarget{class_a_v_l_tree_a51f292a4ddb380da95bd942e8196d403}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!reset@{reset}}
\index{reset@{reset}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{reset}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ void {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::reset (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_a_v_l_tree_a51f292a4ddb380da95bd942e8196d403}
Clear the tree \hypertarget{class_a_v_l_tree_a2550dd13b2ec3c2ce627a89ea058621b}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!search@{search}}
\index{search@{search}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{search}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ Val {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::search (
\begin{DoxyParamCaption}
\item[{const Key \&}]{key}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_a_v_l_tree_a2550dd13b2ec3c2ce627a89ea058621b}
Gets a key out of the A\-V\-L Tree 
\begin{DoxyParams}{Parameters}
{\em key} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}
\hypertarget{class_a_v_l_tree_a59ae9495ddd1f41913be99655a46ceb4}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!set\-Balancing@{set\-Balancing}}
\index{set\-Balancing@{set\-Balancing}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{set\-Balancing}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ void {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::set\-Balancing (
\begin{DoxyParamCaption}
\item[{bool}]{mode}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{class_a_v_l_tree_a59ae9495ddd1f41913be99655a46ceb4}
set tree balancing mode (useful for debugging purposes) 
\begin{DoxyParams}{Parameters}
{\em mode} & \\
\hline
\end{DoxyParams}
\hypertarget{class_a_v_l_tree_aef78b6448d8904f919aebbd85ff64b72}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!slr@{slr}}
\index{slr@{slr}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{slr}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ void {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::slr (
\begin{DoxyParamCaption}
\item[{{\bf Avl\-Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{class_a_v_l_tree_aef78b6448d8904f919aebbd85ff64b72}
Single left rotate 
\begin{DoxyParams}{Parameters}
{\em node} & \\
\hline
\end{DoxyParams}
\hypertarget{class_a_v_l_tree_a304ac90219fd9c546d12cbdfdbba0aa2}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!srr@{srr}}
\index{srr@{srr}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{srr}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ void {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::srr (
\begin{DoxyParamCaption}
\item[{{\bf Avl\-Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{class_a_v_l_tree_a304ac90219fd9c546d12cbdfdbba0aa2}
Single right rotate 
\begin{DoxyParams}{Parameters}
{\em node} & \\
\hline
\end{DoxyParams}


\subsection{Member Data Documentation}
\hypertarget{class_a_v_l_tree_aa998839d84cc3637cfa4314bea241771}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!do\-Balancing@{do\-Balancing}}
\index{do\-Balancing@{do\-Balancing}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{do\-Balancing}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ bool {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::do\-Balancing}}\label{class_a_v_l_tree_aa998839d84cc3637cfa4314bea241771}
\hypertarget{class_a_v_l_tree_a451ec32616485c7963914a7701671e57}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!root\-\_\-node@{root\-\_\-node}}
\index{root\-\_\-node@{root\-\_\-node}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{root\-\_\-node}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ {\bf Avl\-Node}$\ast$ {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::root\-\_\-node}}\label{class_a_v_l_tree_a451ec32616485c7963914a7701671e57}
\hypertarget{class_a_v_l_tree_ad9799c7e81d5f291885e2622d31d5b19}{\index{A\-V\-L\-Tree@{A\-V\-L\-Tree}!size@{size}}
\index{size@{size}!AVLTree@{A\-V\-L\-Tree}}
\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key, typename Val$>$ int {\bf A\-V\-L\-Tree}$<$ Key, Val $>$\-::size}}\label{class_a_v_l_tree_ad9799c7e81d5f291885e2622d31d5b19}


The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
C\-:/\-Users/\-Christopher/\-Documents/\-Net\-Beans\-Projects/pbsearch/\-Search\-Engine/\hyperlink{_a_v_l_tree_8h}{A\-V\-L\-Tree.\-h}\end{DoxyCompactItemize}
